package io.geekidea.boot.util.baiwangUtils;

import com.baiwang.open.entity.response.node.SOutputinvoiceQuery;

import java.util.ArrayList;
import java.util.List;

/**
 * 发票查询结果获取状态
 * 获取SOutputinvoiceQuery列表中对象的status值
 */
public class InvoiceUtils {

    /**
     * 获取列表中第一个元素的status值
     *
     * @param responseList 发票查询响应列表
     * @return 第一个元素的status值，若列表为空或null则返回null
     */
    public static String getFirstStatus(List<SOutputinvoiceQuery> responseList) {
        if (responseList == null || responseList.isEmpty()) {
            return null;
        }
        // 获取第一个元素并返回其status值
        SOutputinvoiceQuery firstInvoice = responseList.get(0);
        return firstInvoice != null ? firstInvoice.getStatus() : null;
    }

    /**
     * 获取列表中所有元素的status值
     *
     * @param responseList 发票查询响应列表
     * @return 所有元素的status值列表，若输入列表为null则返回空列表
     */
    public static List<String> getAllStatuses(List<SOutputinvoiceQuery> responseList) {
        List<String> statusList = new ArrayList<>();
        if (responseList == null || responseList.isEmpty()) {
            return statusList;
        }
        // 遍历列表，收集所有status值
        for (SOutputinvoiceQuery invoice : responseList) {
            if (invoice != null) {
                statusList.add(invoice.getStatus());
            }
        }
        return statusList;
    }
}